"""
@FileName：1.lxml解析糗事百科.py
@Author：lmz
@Time：2021/5/24 19:59
"""
import requests       #导入requests
from lxml import etree   #导入lxml中的etree函数
#爬取的url地址
url = 'https://www.qiushibaike.com/text/page/1/'
#网站可能会反爬所以设置了请求头部
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
                  '(KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'
}
#用respons接受网站请求并把接受的数据变成bety类型
respons = requests.get(url,headers=headers).content
#解析
html = etree.HTML(respons)
#定位元素，这里使用了相对路径
qiushi_info = html.xpath('//*[@class="col1 old-style-col1"]/div')
#创建一个空字典，准备接受爬取下来的数据并写入txt文件
dic = {}


with open('糗事百科段子.txt', 'w', encoding='utf-8') as f:
    for i in qiushi_info:
        name = i.xpath('./div/a/h2/text()')
        #因为爬取的文件中带有空格符号所以再一次用循环把前后的空格符给去掉了
        for y in name:
            dic['name_y'] = y.strip()
            f.write('作者：' + dic['name_y']+'\n\n')
        info = i.xpath('./a/div/span[1]/text()')
        # 因为爬取的文件中带有空格符号所以再一次用循环把前后的空格符给去掉了
        for z in info:
            dic['info_z'] = z.strip()
            f.write(dic['info_z']+'\n\n')
